package com.av.db.dataobjects;

import java.io.Serializable;
import java.util.Date;

/**
 * Abono o cargo a favor a una tarjeta vehicular registrada en el sistema
 * 
 * @author Victor J Morales R
 * 
 */
public class Abono implements Serializable {

	private static final long serialVersionUID = 1L;

	public static final String ID = "id";
	public static final String TARJETA = "tarjeta";
	public static final String FECHA = "fecha";
	public static final String MONTO = "monto";

	// Miembros

	private int id;
	private Tarjeta tarjeta;
	private Date fecha;
	private double monto;

	// Propiedades

	/**
	 * Obtiene el identificador de la tabla
	 */
	public int getId() {
		return id;
	}// getId

	/**
	 * Asigna el identificador de la tabla
	 * 
	 * @param id
	 */
	@SuppressWarnings("unused")
	private void setId(int id) {
		this.id = id;
	}// setId

	/**
	 * Obtiene la fecha en la que se realizo el abono a la tarjeta
	 * 
	 * @return
	 */
	public Date getFecha() {
		return fecha;
	}// getFecha

	/**
	 * Asigna la fecha en la que se realizo el abono a la tarjeta
	 * 
	 * @param fecha
	 */
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}// setFecha

	/**
	 * Funcion que obtiene la tarjeta en la cual fue generado el abono
	 * 
	 * @return
	 */
	public Tarjeta getTarjeta() {
		return tarjeta;
	}// getTarjeta

	/**
	 * Asigna la tarjeta sobre la cual se generara el abono
	 * 
	 * @param tarjeta
	 */
	public void setTarjeta(Tarjeta tarjeta) {
		this.tarjeta = tarjeta;
	}// setTarjeta

	/**
	 * Obtiene el monto o cargo realizado a la tarjeta
	 * 
	 * @return
	 */
	public double getMonto() {
		return monto;
	}// getMonto

	/**
	 * Asigna el monto o cargo a ser realizado a la tarjeta
	 * 
	 * @param monto
	 */
	public void setMonto(double monto) {
		this.monto = monto;
	}// setMonto

	// Funciones

	public String toString() {
		return this.fecha + " : " + this.monto;
	}// toString

	public boolean equals(Object o) {
		if (o == null || !(o instanceof Abono)) {
			return false;
		}
		return ((Abono) o).getId() == id;
	}// equals

}// Abono